import {FileObj} from "@/api/web/FileApi.ts";
import React from "react";

export abstract class ViewProcessor {
    protected fileObj: FileObj
    protected abstract uniKey: string

    constructor(fileObj: FileObj) {
        this.fileObj = fileObj
    }

    public abstract getName: () => string

    public getKey = () => {
        return this.fileObj.path + this.uniKey
    }

    public abstract isViewAble: () => boolean
    public abstract ViewFunctionComponent: () => React.ReactNode
}